package main

import (
	"fmt"
	"reflect"
)

func main() {
	/*方式一：*/
	/*
		var testArray = [3]int{}                    // 数组会初始化为int类型的零值
		var numArray = [3]int{1, 2}                 // 使用制定的初始值完成初始化
		var cityArray = [3]string{"北京", "深圳", "上海"} // 使用制定的初始值完成初始化
		fmt.Println(testArray, numArray, cityArray)
	*/

	/*方式二	*/
	/*
		var testArray [3]int
		var numArray = [...]int{1, 2}
		var cityArray = [3]string{"北京", "深圳", "上海"}
		fmt.Println(testArray)                           // [0 0 0]
		fmt.Println(numArray)                            // [1 2]
		fmt.Printf("type of numArray: %T\n", numArray)   // type of numArray: [2]int
		fmt.Println(cityArray)                           // [北京 深圳 上海]
		fmt.Printf("type of cityArray: %T\n", cityArray) // type of cityArray: [3]string
	*/

	/*方式三：*/
	a := [...]int{1: 1, 3: 5}
	fmt.Println(a)               //[0 1 0 5]
	fmt.Print(reflect.TypeOf(a)) // [4]int

}
